package com.ssy.lingxi.system.service;

import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.PageModel;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.system.dto.request.SiteAddRequest;
import com.ssy.lingxi.system.dto.request.SiteDetailsResquest;
import com.ssy.lingxi.system.dto.request.SiteUpdateResquest;
import com.ssy.lingxi.system.dto.request.SiteUpdateStateResquest;
import com.ssy.lingxi.system.dto.response.SiteAllResponse;
import com.ssy.lingxi.system.dto.response.SiteDetailsResponse;
import com.ssy.lingxi.system.dto.response.SiteListResponse;
import org.springframework.web.bind.annotation.RequestBody;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
* 站点业务处理层
* @author wrc
* @date 2020/6/3
*/
public interface SiteService {

    /**
    * 添加站点
    * @author wrc
    * @date 2020/6/3
    */
    Wrapper siteAdd(HttpServletRequest httpServletRequest, SiteAddRequest request);


    /**
    * 站点列表
    * @author wrc
    * @date 2020/6/3
    */
    Wrapper<PageData<SiteListResponse>> siteList(PageModel request);



    /**
    * 站点详情查询
    * @author wrc
    * @date 2020/6/3
    */
    Wrapper<SiteDetailsResponse> siteDetails(SiteDetailsResquest request);

    /**
    * 删除站点
    * @author wrc
    * @date 2020/6/3
    */
    Wrapper siteDelete(SiteDetailsResquest request);


    /**
    * 修改站点
    * @author wrc
    * @date 2020/6/3
    */
    Wrapper siteUpdate(SiteUpdateResquest request);

    /**
     * 查询所有站点
     * @author fhj
     * @date 2020/07/20
     */
    Wrapper<List<SiteAllResponse>> siteAll();

    /**
    * 修改站点状态
    * @author wrc
    * @date 2020/7/22
    */
    Wrapper siteUpdateState(@RequestBody SiteUpdateStateResquest request);

    /**
     * 根据模板查询所有站点
     * @author fhj
     * @date 2020/08/28
     */
    Wrapper<List<SiteAllResponse>> allByTemplate(Long templateId);
}
